import { HostInterfaces } from './hostInterfaces';
import { WorkloadLabels } from './workloadLabels';
import { WorkloadBrief } from './workloadBrief';
import { WorkloadPorts } from './workloadPorts';
import { ScanBrief } from './scanBrief';

export interface Workload {
  app_ports: any;
  id: string;
  name: string;
  images: string[];
  display_name: string;
  pod_name: string;
  image: string;
  image_id: string;
  platform_role: string;
  domain: string;
  state: string;
  service: string;
  author: string;
  service_group: string;
  share_ns_with?: string;
  cap_sniff: boolean;
  cap_quarantine: boolean;
  cap_change_mode: boolean;
  policy_mode?: string;
  scan_summary: ScanBrief;
  children: WorkloadBrief[];
  quarantine_reason?: string;
  service_mesh: boolean;
  service_mesh_sidecar: boolean;
  privileged: boolean;
  run_as_root: boolean;
  host_name: string;
  host_id: string;
  enforcer_id: string;
  enforcer_name: string;
  network_mode: string;
  created_at: string;
  started_at: string;
  finished_at: string;
  running: boolean;
  secured_at: string;
  exit_code: number;
  interfaces: HostInterfaces;
  ports: WorkloadPorts[];
  labels: WorkloadLabels;
  applications: string[];
  memory_limit: number;
  cpus: string;
}
